aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/[username]/items
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-02-20 19:53:49 -0800
committerAdam Soltys <[email protected]>2024-02-20 19:53:49 -0800
commitfbf3cef47c612b9c334917f10c810c797fc77da6 (patch)
treef10d545fae7305e624c91f5333f513d5dc95d413 /src/routes/(app)/[username]/items
parent3fbd2514e38d29ff02cd7765d89476bed6530d37 (diff)
downloadcoinos-ui-fbf3cef47c612b9c334917f10c810c797fc77da6.tar.gz
coinos-ui-fbf3cef47c612b9c334917f10c810c797fc77da6.zip
items
Diffstat (limited to 'src/routes/(app)/[username]/items')
-rw-r--r--src/routes/(app)/[username]/items/[id]/+page.server.js24
-rw-r--r--src/routes/(app)/[username]/items/[id]/+page.svelte9
-rw-r--r--src/routes/(app)/[username]/items/create/+page.server.js17
-rw-r--r--src/routes/(app)/[username]/items/create/+page.svelte4
4 files changed, 46 insertions, 8 deletions
diff --git a/src/routes/(app)/[username]/items/[id]/+page.server.js b/src/routes/(app)/[username]/items/[id]/+page.server.js
index e1fe2efd..960f9af4 100644
--- a/src/routes/(app)/[username]/items/[id]/+page.server.js
+++ b/src/routes/(app)/[username]/items/[id]/+page.server.js
@@ -1,6 +1,22 @@
-import { get } from "$lib/utils";
-export let load = async ({ cookies, params: { id } }) => {
- let item = await get(`/item/${id}`);
- console.log("item", item)
+import { fd, auth, get, post } from "$lib/utils";
+import { fail, redirect } from "@sveltejs/kit";
+
+ export let load = async ({ cookies, params: { id } }) => {
+ let item = await get(`/items/${id}`);
return { item };
};
+
+export const actions = {
+ default: async ({ cookies, request, url }) => {
+ let form = await fd(request);
+ try {
+ await post(`/items`, form, auth(cookies));
+ } catch (e) {
+ console.log(e);
+ return fail(400, { message: e.message });
+ }
+
+ let success = `/${url.pathname.split("/")[1]}`;
+ redirect(307, success);
+ },
+};
diff --git a/src/routes/(app)/[username]/items/[id]/+page.svelte b/src/routes/(app)/[username]/items/[id]/+page.svelte
index 5a19e892..ddf4cf1d 100644
--- a/src/routes/(app)/[username]/items/[id]/+page.svelte
+++ b/src/routes/(app)/[username]/items/[id]/+page.svelte
@@ -1,7 +1,14 @@
<script>
+ import { t } from "$lib/translations";
import ItemForm from "$comp/ItemForm.svelte";
export let data;
let { item } = data;
+ console.log(item)
</script>
-<ItemForm {item} />
+<div class="container max-w-xl mx-auto">
+ <h1 class="px-3 md:px-0 text-center text-3xl md:text-4xl font-semibold mb-10">
+ {$t("items.edit")}
+ </h1>
+ <ItemForm {item} />
+</div>
diff --git a/src/routes/(app)/[username]/items/create/+page.server.js b/src/routes/(app)/[username]/items/create/+page.server.js
new file mode 100644
index 00000000..ea0571e7
--- /dev/null
+++ b/src/routes/(app)/[username]/items/create/+page.server.js
@@ -0,0 +1,17 @@
+import { fail, redirect } from "@sveltejs/kit";
+import { fd, auth, get, post } from "$lib/utils";
+
+export const actions = {
+ default: async ({ cookies, request, url }) => {
+ let form = await fd(request);
+ try {
+ await post("/items", form, auth(cookies));
+ } catch (e) {
+ console.log(e);
+ return fail(400, { message: e.message });
+ }
+
+ let success = `/${url.pathname.split('/')[1]}`
+ redirect(307, success);
+ },
+};
diff --git a/src/routes/(app)/[username]/items/create/+page.svelte b/src/routes/(app)/[username]/items/create/+page.svelte
index c9aeae1d..46ee8e0c 100644
--- a/src/routes/(app)/[username]/items/create/+page.svelte
+++ b/src/routes/(app)/[username]/items/create/+page.svelte
@@ -1,8 +1,6 @@
<script>
import { t } from "$lib/translations";
import ItemForm from "$comp/ItemForm.svelte";
- export let data;
- let { token } = data;
let item = {};
</script>
@@ -10,5 +8,5 @@
<h1 class="px-3 md:px-0 text-center text-3xl md:text-4xl font-semibold mb-10">
{$t("items.add")}
</h1>
- <ItemForm {item} {token} />
+ <ItemForm {item} />
</div>